package com.code.design.model.demo.responsibilitychain;

/**
 * 客户端
 * 可以灵活设置整个链路和处理者的次序，然后直接调用第一个处理者的handleRequest方法，就相当于启动了整个链路。
 *
 * @author tangyifei
 */
public class Client {

    public static void main(String[] args) {
        Handler handlerA = new HandlerA();
        Handler handlerB = new HandlerB();
        Handler handlerC = new HandlerC();

        handlerA.setSuccessor(handlerB);
        handlerB.setSuccessor(handlerC);
        //下面将打印出所有首字母都被替换为*的结果，就是说整个职责链都进行了执行
        System.out.println(handlerA.handleRequest("apple"));
        System.out.println(handlerA.handleRequest("bicycle"));
        System.out.println(handlerA.handleRequest("color"));
    }
}
